// AI集成配置文件
// 当你添加DeepSeek或其他AI服务时，可以在这里配置

export interface AIConfig {
  apiKey?: string
  baseURL?: string
  model?: string
}

export interface StoryGenerationParams {
  character: string
  location: string
  background: string
  plotType: string
}

// DeepSeek API集成示例（需要API密钥）
export async function generateStoryWithDeepSeek(params: StoryGenerationParams): Promise<string> {
  // 这里是DeepSeek API的集成代码示例
  // 你需要添加DEEPSEEK_API_KEY环境变量

  const apiKey = process.env.DEEPSEEK_API_KEY
  if (!apiKey) {
    throw new Error("DeepSeek API密钥未配置")
  }

  const systemPrompt = `你是一个专业的儿童故事创作者。请根据用户提供的元素创作一个适合3-8岁儿童的睡前故事。

要求：
1. 故事内容必须积极正面，传递正能量
2. 语言简单易懂，适合儿童理解
3. 故事长度控制在300-500字
4. 包含教育意义，如友谊、勇敢、善良等品质
5. 结局必须是温馨美好的
6. 绝对不能包含任何暴力、恐怖、色情或不当内容`

  const userPrompt = `请创作一个儿童睡前故事：
- 主要人物：${params.character}
- 故事地点：${params.location}
- 故事背景：${params.background}
- 情节类型：${params.plotType}`

  try {
    const response = await fetch("https://api.deepseek.com/v1/chat/completions", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${apiKey}`,
      },
      body: JSON.stringify({
        model: "deepseek-chat",
        messages: [
          { role: "system", content: systemPrompt },
          { role: "user", content: userPrompt },
        ],
        temperature: 0.7,
        max_tokens: 1000,
      }),
    })

    if (!response.ok) {
      throw new Error(`DeepSeek API错误: ${response.status}`)
    }

    const data = await response.json()
    return data.choices[0]?.message?.content || "故事生成失败"
  } catch (error) {
    console.error("DeepSeek API调用失败:", error)
    throw new Error("AI服务暂时不可用")
  }
}

// 通用AI SDK集成示例（推荐使用）
export async function generateStoryWithAISDK(params: StoryGenerationParams): Promise<string> {
  // 使用Vercel AI SDK的示例代码
  // 你可以根据需要选择不同的AI提供商

  /*
  import { generateText } from 'ai'
  import { openai } from '@ai-sdk/openai' // 或其他提供商
  
  const { text } = await generateText({
    model: openai('gpt-3.5-turbo'), // 或deepseek模型
    system: systemPrompt,
    prompt: userPrompt,
    temperature: 0.7,
    maxTokens: 1000,
  })
  
  return text
  */

  throw new Error("AI SDK未配置，请添加相应的AI服务集成")
}
